package com.coin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.coin.domain.Notice;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * @author 李力
 * @description 针对表【notice(系统资讯公告信息)】的数据库操作Service
 * @createDate 2025-05-24 17:08:03
 */
public interface NoticeService extends IService<Notice> {

    /**
     * @Description: 分页查询
     * @Author: 李 力
     * @Date: 2025/5/28
     * @Param: Page<Notice> page, String title, String startTime, String endTime, Integer status
     * @return: R
     */
    Page<Notice> findByPage(Page<Notice> page, String title, String startTime, String endTime, Integer status);

    /**
     * @Description: 删除公告
     * @Author: 李 力
     * @Date: 2025/5/29
     * @Param: ids
     * @return: R
     */
    boolean deleteNotices(String[] ids);

    /**
     * @Description: 启用/禁用一个公告
     * @Author: 李 力
     * @Date: 2025/5/29
     * @Param: id  status
     * @return: status
     */
    boolean updateNotice(Long id, Integer status);

    /**
     * @Description: 新增一个公告
     * @Author: 李 力
     * @Date: 2025/5/29
     * @Param: notice
     * @return: R
     */
    boolean addNotice(Notice notice);

    /**
     * @Description: 修改公告
     * @Author: 李 力
     * @Date: 2025/5/29
     * @Param: notice
     * @return: R
     */
    boolean modifyNotice(Notice notice);

    Page<Notice> simple(Page<Notice> page);

    /**
     * @Description: 根据Id查询公告详情
     * @Author: 李 力
     * @Date: 2025/6/21
     * @Param:
     * @return: R
     */
    Notice getSimpleDetail(Long id);
}
